package compilador.semantico;

public class Atributo implements Variavel {
	
	private String nome;
	private String tipo;
	private boolean colecao;
	
	public Atributo(String tipo, boolean colecao) {
		this("", tipo, colecao);
	}
	
	public Atributo(String tipo) {
		this("", tipo);
	}
	
	public Atributo(String nome, String tipo) {
		this(nome, tipo, false);
	}
	
	public Atributo(String nome, String tipo, boolean colecao) {
		this.nome= nome;
		this.tipo = tipo;
		this.colecao = colecao;
	}
	
	@Override
	public String getNome() {
		return nome;
	}

	@Override
	public String getTipo() {
		return tipo;
	}

	@Override
	public boolean temFilhos() {
		return false;
	}

	@Override
	public boolean temParametros() {
		return false;
	}

	public boolean ehColecao() {
		return colecao;
	}
	
	@Override
	public String toString() {
		return nome + ":" + tipo +(colecao?":colecao":"");
	}

}
